package com.yanfan.energy.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author caijinkang
 * @date 2023年02月09日 15:53
 */
public class MatterBody {
    /**
     * 根父级
     *
     * @author caijinkang
     * @date 2023/2/9 17:02
     * @param null
     * @return null
     */
    private Integer id;
    /**
     * 计划id
     *
     * @author caijinkang
     * @date 2023/2/9 15:57
     * @param null
     * @return null
     */
    private Integer planId;
    /**
     * 计划编号
     *
     * @author caijinkang
     * @date 2023/2/9 15:57
     * @param null
     * @return null
     */
    private String planNumber;
    /**
     * 计划名称
     *
     * @author caijinkang
     * @date 2023/2/9 15:57
     * @param null
     * @return null
     */
    private String planName;
    /**
     * 订单编号
     *
     * @author caijinkang
     * @date 2023/2/9 15:58
     * @param null
     * @return null
     */
    private String orderNumber;
    /**
     * 批次id
     *
     * @author caijinkang
     * @date 2023/2/9 15:58
     * @param null
     * @return null
     */
    private Integer batchId;
    /**
     * 批次编号
     *
     * @author caijinkang
     * @date 2023/2/9 15:58
     * @param null
     * @return null
     */
    private String batchNumber;
    /**
     * 批次开始时间
     *
     * @author caijinkang
     * @date 2023/2/9 15:58
     * @param null
     * @return null
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date batchBeginDate;
    /**
     * 批次结束时间
     *
     * @author caijinkang
     * @date 2023/2/9 15:58
     * @param null
     * @return null
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date batchEndDate;
    /**
     * 批次状态
     *
     * @author caijinkang
     * @date 2023/2/9 15:58
     * @param null
     * @return null
     */
    private Integer type;
    /**
     * 负责人
     *
     * @author caijinkang
     * @date 2023/2/9 15:59
     * @param null
     * @return null
     */
    private String principal;
    /**
     * 计划开始时间
     *
     * @author caijinkang
     * @date 2023/2/9 16:00
     * @param null
     * @return null
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date planBeginDate;
    /**
     * 计划结束时间
     *
     * @author caijinkang
     * @date 2023/2/9 16:00
     * @param null
     * @return null
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date planEndDate;
    /**
     * 父子级
     *
     * @author caijinkang
     * @date 2023/2/9 16:01
     * @param null
     * @return null
     */
    private Integer parent;

    private Integer planHour;

    private Integer batchHour;


    public MatterBody() {
    }

    public MatterBody(Integer planId, String planNumber, String planName, String orderNumber, Integer batchId, String batchNumber, Date batchBeginDate, Date batchEndDate, Integer type, String principal, Date planBeginDate, Date planEndDate, Integer parent) {
        this.planId = planId;
        this.planNumber = planNumber;
        this.planName = planName;
        this.orderNumber = orderNumber;
        this.batchId = batchId;
        this.batchNumber = batchNumber;
        this.batchBeginDate = batchBeginDate;
        this.batchEndDate = batchEndDate;
        this.type = type;
        this.principal = principal;
        this.planBeginDate = planBeginDate;
        this.planEndDate = planEndDate;
        this.parent = parent;
    }

    @Override
    public String toString() {
        return "MatterBody{" + "planId=" + planId + ", planNumber='" + planNumber + '\'' + ", planName='" + planName + '\'' + ", orderNumber='" + orderNumber + '\'' + ", batchId=" + batchId + ", batchNumber='" + batchNumber + '\'' + ", batchBeginDate=" + batchBeginDate + ", batchEndDate=" + batchEndDate + ", type=" + type + ", principal='" + principal + '\'' + ", planBeginDate=" + planBeginDate + ", planEndDate=" + planEndDate + ", parent=" + parent + '}';
    }

    public Integer getPlanId() {
        return planId;
    }

    public void setPlanId(Integer planId) {
        this.planId = planId;
    }

    public String getPlanNumber() {
        return planNumber;
    }

    public void setPlanNumber(String planNumber) {
        this.planNumber = planNumber;
    }

    public String getPlanName() {
        return planName;
    }

    public void setPlanName(String planName) {
        this.planName = planName;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }

    public Integer getBatchId() {
        return batchId;
    }

    public void setBatchId(Integer batchId) {
        this.batchId = batchId;
    }

    public String getBatchNumber() {
        return batchNumber;
    }

    public void setBatchNumber(String batchNumber) {
        this.batchNumber = batchNumber;
    }

    public Date getBatchBeginDate() {
        return batchBeginDate;
    }

    public void setBatchBeginDate(Date batchBeginDate) {
        this.batchBeginDate = batchBeginDate;
    }

    public Date getBatchEndDate() {
        return batchEndDate;
    }

    public void setBatchEndDate(Date batchEndDate) {
        this.batchEndDate = batchEndDate;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getPrincipal() {
        return principal;
    }

    public void setPrincipal(String principal) {
        this.principal = principal;
    }

    public Date getPlanBeginDate() {
        return planBeginDate;
    }

    public void setPlanBeginDate(Date planBeginDate) {
        this.planBeginDate = planBeginDate;
    }

    public Date getPlanEndDate() {
        return planEndDate;
    }

    public void setPlanEndDate(Date planEndDate) {
        this.planEndDate = planEndDate;
    }

    public Integer getParent() {
        return parent;
    }

    public void setParent(Integer parent) {
        this.parent = parent;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getPlanHour() {
        return planHour;
    }

    public void setPlanHour(Integer planHour) {
        this.planHour = planHour;
    }

    public Integer getBatchHour() {
        return batchHour;
    }

    public void setBatchHour(Integer batchHour) {
        this.batchHour = batchHour;
    }
}
